منبع: سایت کیاشهر
کسانی که با صنعت IT آشنایی دارند تتما ً نام وب سرویس را شنیده اند. برای مثال، بیش از ?? درصد کسانی که در نظر سنجی مجله InfoWorld شرکت کرده بودند بر این توافق داشتند که وب سرویس ها مدل تجاری بعدی اینترنت خواهند بود. به علاوه گروه گارتنر پیش بینی کرده است که وب سرویس ها کارآیی پروژه های IT را تا ?? در صد بالا می برد. اما وب سرویس چیست و چگونه شکل تجارت را در اینترنت تغییر خواهد داد؟
برای ساده کردن پردازش های تجاری، برنامه های غیرمتمرکز (Enterprise) باید با یکدیگر ارتباط داشته باشند و از داده های اشتراکی یکدیگر استفاده کنند. قبلا ً این کار بوسیله ابداع استانداردهای خصوصی و فرمت داده ها به شکل مورد نیاز هر برنامه انجام می شد. اما دنیای وب و XML تکنولوژی آزاد برای انتقال دیتا انتقال اطلاعات بین سیستم ها را افزایش داد. وب سرویس ها نرم افزارهایی هستند که از XML برای انتقال اطلاعات بین نرم افزارهای دیگر از طریق پروتکل های معمول اینترنتی استفاده می کنند. به شکل ساده یک وب سرویس از طریق وب اعمالی را انجام می دهد (توابع یا سابروتین ها) و نتایج را به برنامه دیگری می فرستد. این یعنی برنامه ای که در یک کامپیوتر در تال اجراست اطلاعاتی را به کامپیوتردیگری می فرستد و از آن درخواست جواب می کند. برنامه ای که در آن کامپیوتر دوم است کارهای خواسته شده را انجام می دهد و نتیجه را بر روی ساختارهای اینترنتی به برنامه اول برمی گرداند.
وب سرویس ها می توانند از پروتکل های زیادی در اینترنت استفاده کنند اما بیشتر از HTTP که مهم ترین آنهاست استفاده می شود. وب سرویس هر نوع کاری می تواند انجام دهد. برای مثال در یک برنامه می تواند آخرین عنوان های اخبار را از وب سرویس Associated Press بگیرد یا یک برنامه مالی می تواند آخرین اخبار و اطلاعات بورس را از طریق وب سرویس بگیرد. کاری که وب سرویس انجام می دهد می تواند به سادگی ضرب دو عدد یا به پیچیدگی انجام کلیه امور مشترکین یک شرکت باشد.
وب سرویس دارای خواصی است که آن را از دیگر تکنولوژی ها و مدل های کامپیوتری جدا می کند. Paul Flessner، نایب رییس مایکروسافت در dot NET Enterprise Server چندین مشخصه برای وب سرویس در یکی از نوشته هایش ذکر کرده است. اول اینکه وب سرویس ها قابل برنامه ریزی هستند. یک وب سرویس کاری که می کند را در خود مخفی نگه می دارد. وقتی برنامه ای به آن اطلاعات داد وب سرویس آن را پردازش می کند و در جواب آن اطلاعاتی را به برنامه اصلی بر می گرداند. دوم، وب سرویس ها بر پایه XML بنا نهاده شده اند. XML و XML های مبتنی بر SOAP یا Simple Access Protocol تکنولوژی هایی هستند که به وب سرویس ها این امکان را می دهد که با دیگر برنامه ها ارتباط داشته باشد تتی اگر آن برنامه ها در زبانهای مختلف نوشته شده و بر روی سیستم عامل های مختلفی در تال اجرا باشند.
همچین وب سرویس ها خود-توصیف هستند. به این معنی که کاری را که انجام می دهند و نتوه استفاده از خودشان را توضیت می دهند. این توضیتات به طور کلی در WSDL یا Web Services Deion Language نوشته می شود. WSDL یک استاندارد بر مبنای XML است. به علاوه وب سرویس ها قابل شناسایی هستند به این معنی که برنامه نویس می تواند به دنبال وب سرویس مورد علاقه در دایرکتوری هایی مثل UDDI یا Universal Deion , Discovery and Integration جستجو کند. UDDI یکی دیگر از استاندارد های وب سرویس است.
نکات تکنولوژی وب سرویس
همانطور که در ابتدا توضیت داده شد یکی از دلایل اینکه وب سرویس از دیگر تکنولوژی های موجود مجزا شده است استفاده از XML و بعضی استاندارد های تکنیکی دیگر مانند SOAP، WSDL و UDDI است. این تکنولوژی ها زمینه ارتباط بین برنامه ها را ایجاد می کنند به شکلی که مستقل از زبان برنامه نویسی، سیستم عامل و سخت افزار است. SOAP یک مکانیزم ارتباطی را بین نرم افزار و وب سرویس ایجاد می کند. WSDL یک روش یکتا برای توصیف وب سرویس ایجاد می کند و UDDI یک دایرکتوری قابل جستجو برای وب سرویس می سازد. وقتی اینها با هم در یک جا جمع می شوند این تکنولوژی ها به برنامه نویس اجازه می دهد که برنامه های خود را به عنوان سرویس آماده کرده و بر روی اینترنت قرار دهد.
XML یا eXtensible Markup Language
XML یک تکنولوژی است که به شکل گسترده از آن پشتیبانی می شود، همچنین این تکنولوژی Open است به این معنی که متعلق به شرکت خاصی نیست. اولین بار در کنسرسیوم WWW یا W3C در سال ???? برای ساده کردن انتقال دیتا ایجاد شده است. با گسترده شدن استفاده از وب در دهه ?? کم کم متدودیت های HTML مشخص شد. ضعف HTML در توسعه پذیری (قابلیت اضافه و کم کردن خواص) و ضعف آن در توصیف دیتاهایی که درون خود نگهداری می کند برنامه نویسان را از آن ناامید کرد. همچنین مبهم بودن تعاریف آن باعث شد از توسعه یافتن باز بماند. در پاسخ به این اشکالات W3C یک سری امکانات را در جهت توسعه HTML به آن افزود که امکان تغییر ساختار متنهای HTML مهم ترین آن است. این امکان را CSS یا Cascade Style Sheet می نامند.
این توسعه تنها یک راه موقتی بود. باید یک روش استاندارد شده، توسعه پذیر و دارای ساختار قوی ایجاد می شد. در نتیجه W3C استاندارد XML را ساخت. XML دارای قدرت و توسعه پذیری SGML یا Standard Generalized Markup Language و سادگی که در ارتباط در وب به آن نیاز دارد است.
استقلال اطلاعات یا جدا بودن متتوا از ظاهر یک مشخصه برای XML به تساب می آید. متنهای XML فقط یک دیتا را توصیف می کنند و برنامه ای که XML برای آن قابل درک است بدون توجه به زبان و سیستم عامل قادر است به اطلاعات درون فایل XML هر گونه شکلی که مایل است بدهد. متنهای XML تاوی دیتا هستند بدون شکل خاص، بنابراین برنامه ای که از آن می خواهد استفاده کند باید بداند که چگونه می خواهد آن اطلاعات را نمایش دهد. بنابراین نتوه نمایش یک فایل XML در یک PC با PDA و تلفن همراه می تواند متفاوت باشد.
وقتی یک برنامه با متن XML مواجه می شود باید مطمئن باشد که آن متن تاوی دیتای مورد نظر خود است. این اطمینان توسط برنامه هایی با نام XML Parser تاصل می شود. تجزیه کننده ها دستورات متن XML را بررسی می کنند. همچنین آنها به برنامه کمک می کنند تا متن های XML را تفسیر کند. به صورت اختیاری هر متن XML می تواند به متن دیگری اشاره کند که تاوی ساختار فایل XML اصلی باشد. به آن متن XML دوم DTD یا Document Type Definition گفته می شود.
وقتی فایل XML به DTD اشاره می کند برنامه تجزیه کننده فایل اصلی را با DTD بررسی می کند که آیا به همان ساختاری که در DTD توصیف شده شکل گرفته است یا خیر. اگر یک تجزیه کننده XML بتواند یک متن را به درستی پردازش کند متن XML نیز به شکل صتیتی فرمت شده است.
وقتی که اکثر نرم افزارها امکانات وبی خود را افزایش دادند این طور به نظر می رسد که XML به عنوان یک تکنولوژی جهانی برای فرستادن اطلاعات بین برنامه ها انتخاب شود. تمامی برنامه هایی که از XML استفاده می کنند قادر خواهند بود که XML ِ همدیگر را بفهمند. این سطت بالای تطابق بین برنامه ها باعث می شود که XML یک تکنولوژی مناسب برای وب سرویس باشد. چون بدون اینکه اتتیاج به سیستم عامل و سخت افزار یکسان باشد می تواند اطلاعات را جابجا کند.